home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 April / macformat-023.iso / Demos / Others / PAIGE™ 1.0 Demo / The PAIGE™ API < prev   
Encoding:
Text File  |  1994-01-26  |  65.0 KB  |  4 lines  |  [paig/pgdm]

  1. 00000000005A000000007181000-14844E40Å2240-2Ç64F564F964F564F92E380ÇÇ6A4844E421CFFFFÅÅ0000100000BD70000002C030D840ÅÇÅÇ6A4C1A121C2F402-240001961221A11B230D81F840ÅÇÅÇ1A14C3A521C4EE02-2400139A1223A51F481FCE3840ÅÇÅÇ3A54C4AD21C4B802-240014A21224AD164CE3119C840ÅÇÅÇ4AD4C62621C48F02-2400261B122626218119C1661840ÅÇÅÇ6264C75421C4AF02-240027491227541A016611C13840ÅÇÅÇ7544C8F921C59102-280038EE1228F91E21C1321A3840ÅÇÅÇ8F94CA6921C57702-24003A5E122A691B221A327B2840ÅÇÅÇA694CC5521C5F702-24004C4A122C551AC27B22D5F840ÅÇÅÇC554CDEB21C5AC02-22004DE04CDEB4C2D5F3557840ÅÇÅÇDEB4C107721C7F702-22005106C4C10774C35573D51840ÅÇÅÇ10774C134421C7F902-2200613394C13444C3D5143F2840ÅÇÅÇ13444C155821C69102-24007154D122155817C43F249F2840ÅÇÅÇ15584C172321C5E002-24008171812217231DC49F25034840ÅÇÅÇ17234818F821C62102-2800818ED15418F821450345694840ÅÇÅÇ18F84C1ABC21C64202-280091AB11661ABC21456945E70840ÅÇÅÇ1ABC4C1CB321C7D302-2400A1CA81221CB31525E70638E840ÅÇÅÇ1CB34C1DFD21C4F502-2800A1DF21241DFD214638E68CD840ÅÇÅÇ1DFD4C1FD321C51D02-2800B1FC814E1FD321468CD6E05840ÅÇÅÇ1FD34C228521C53702-2800C227AD62285D66E05734A840ÅÇÅÇ22854C249A21C53602-2200C248F4C249AA0734A7780840ÅÇÅÇ249A4C25F221C41B02-2800D25E717825F221477807BC5840ÅÇÅÇ25F24C279F21C42A02-2800D2794178279F2147BC58008840ÅÇÅÇ27F44B294321C43202-2800E29381B4294321480088431840ÅÇÅÇ29434C2B4021C40A02-2800F2B351602B402148431884A840ÅÇÅÇ2B404C2C8A21C41802-2800F2C7FD62C8AD6884A8C8E840ÅÇÅÇ2C8A4C2E1E21C44302-2200102E134C2E1E4C8C8E90D2840ÅÇÅÇ2E1E4C2F7321C43302-2200102F684C2F73AC90D2951F840ÅÇÅÇ2F734C313321C42E02-28001131281603133214951F9945840ÅÇÅÇ31334C322521C40402-280011321A14E322521499459D75840ÅÇÅÇ32254C33BE21C42F02-28001233B314A33BE14A9D75A19A840ÅÇÅÇ33BE4C351D21C41402-22001235124C351DACA19AA5C4840ÅÇÅÇ351D4C368121C40B02-28001336761603681214A5C4A9FC840ÅÇÅÇ36814C37B421C40E02-28001337A911E37B4214A9FCAE0E840ÅÇÅÇ37B44C390721C3F102-28001438FC1543907214AE0EB262840ÅÇÅÇ39074C3A1421C43D02-2800143A091903A14214B262B693840ÅÇÅÇ3A144C3B1C21C42E02-2400143B111223B1C12EB693BAE2840ÅÇÅÇ3B1C4C3CAB21C43602-2800153CA01843CAB214BAE2BEF7840ÅÇÅÇ3CAB4C3DA821C3EA02-2800153D9D1183DA8214BEF7C2FF840ÅÇÅÇ3DA84C3EB821C3E702-2800163EAD1543EB8214C2FFC71A840ÅÇÅÇ3EB84C3FEB21C41A02-2200163FE04C3FEB4CC71ACB4F840ÅÇÅÇ3FEB4C410921C40A02-28001640FE1184109214CB4FCF59840ÅÇÅÇ41094C422521C3E402-280017421A1364225214CF59D3D7840ÅÇÅÇ42254C432221C46102-280017431716C4322214D3D7D876860ÅÇÅÇ43224C450621C48602-640018444A4C4456CF0002000003130000000030D,PAIGE™Application Programmer Interface (API)© 1993-4 DataPak Software, Inc.  All Rights ReservedNOTE:  A complete description of the functions is available in the PAIGE™ Programmer's Guide.  Contact DataPak Software Marketing for a copy, available for nominal charge.Summary of FunctionsInitialization, Maintenance & ShutdownPG_PASCAL (void) pgInit         (pg_globals_ptr globals, long max_memory);PG_PASCAL (void) pgShutdown     (pg_globals_ptr globals);PG_PASCAL (pg_globals_ptr) pgGetGlobals (pg_ref pg);PG_PASCAL (void) pgSetDefaultDevice (pg_ref pg, graf_device_ptr device);PG_PASCAL (void) pgGetDefaultDevice (pg_ref pg, graf_device_ptr device);PG_PASCAL (void) pgInitDevice     (pg_globals_ptr globals, void PG_FAR *the_port, long machine_ref, graf_device_ptr device);0002000005180000030D512,PG_PASCAL (void) pgCloseDevice     (pg_globals_ptr globals, graf_device_ptr device);New & DisposePG_PASCAL (pg_ref) pgNew         (pg_globals_ptr globals, shape_ref vis_area, shape_ref page_area, shape_ref exclude_area, long attributes, style_info_ptr def_style, font_info_ptr def_font, par_info_ptr def_ruler);PG_PASCAL (void) pgDispose     (pg_ref pg);PG_PASCAL (pg_ref) pgNewShell     (pg_globals_ptr globals);PG_PASCAL (pg_ref) pgDuplicate     (pg_ref pg);Setting HooksPG_PASCAL (void) pgSetHooks     (pg_ref pg, pg_hooks PG_FAR *hooks, short inval_text);PG_PASCAL (void) pgGetHooks     (pg_ref pg, pg_hooks PG_FAR *hooks);PG_PASCAL (void) pgSetStyleProcs (pg_ref pg, pg_style_hooks PG_FAR *procs, style_info_ptr match_style, style_info_ptr mask_style, style_info_ptr AND_style, long user_data, long user_id, short inval_text, short draw_mode);PG_PASCAL (void) pgSetParProcs     (pg_ref pg, pg_par_hooks PG_FAR *procs, par_info_ptr match_style, par_info_ptr mask_style, par_info_ptr AND_style, long user_data, long user_id, short inval_text, short draw_mode);Changing Shapes & AttributesPG_PASCAL (void) pgSetAreas     (pg_ref pg, shape_ref vis_area, shape_ref page_area, shape_ref exclude_area);PG_PASCAL (void) pgGetAreas     (pg_ref pg, shape_ref vis_area, shape_ref page_area, shape_ref exclude_area);0002000004CA0000081F4C4,PG_PASCAL (void) pgAreaBounds     (pg_ref pg, rectangle_ptr page_bounds, rectangle_ptr vis_bounds);PG_PASCAL (long) pgGetAttributes (pg_ref pg);PG_PASCAL (short) pgSetAttributes (pg_ref pg, long attributes);PG_PASCAL (void) pgGrowVisArea     (pg_ref pg, co_ordinate_ptr top_left, co_ordinate_ptr bot_right);PG_PASCAL (void) pgSetExtraStruct (pg_ref pg, void PG_FAR *extra_struct, short ref_id);PG_PASCAL (void PG_FAR *) pgGetExtraStruct (pg_ref pg, short ref_id);PG_PASCAL (short) pgExtraUniqueID (pg_ref pg);PG_PASCAL (void) pgOffsetShape     (shape_ref the_shape, long h, long v);PG_PASCAL (void) pgInsetShape     (shape_ref the_shape, long h, long v);PG_PASCAL (pg_short_t) pgPtInShape (shape_ref the_shape, co_ordinate_ptr point, co_ordinate_ptr offset_extra);PG_PASCAL (short) pgRectInShape (shape_ref the_shape, rectangle_ptr rect, co_ordinate_ptr offset_extra, rectangle_ptr sect_rect);PG_PASCAL (void) pgShapeToSelections (pg_ref pg, shape_ref the_shape, memory_ref selections);PG_PASCAL (short) pgEmptyShape     (shape_ref the_shape);PG_PASCAL (short) pgEqualShapes (shape_ref shape1, shape_ref shape2);PG_PASCAL (pg_short_t) pgSectRectInShape (shape_ref the_shape, rectangle_ptr rect, rectangle_ptr sect_rect);0002000004BF00000CE34B9,PG_PASCAL (void) pgShapeBounds (shape_ref the_shape, rectangle_ptr bounds);PG_PASCAL (short) pgSectShape     (shape_ref shape1, shape_ref shape2, shape_ref result_shape);PG_PASCAL (void) pgDiffShape     (shape_ref shape1, shape_ref shape2, shape_ref result_shape);PG_PASCAL (shape_ref) pgRectToShape (pg_globals_ptr globals, rectangle_ptr rect);PG_PASCAL (void) pgAddRectToShape(shape_ref the_shape,rectangle_ptr rect);PG_PASCAL (void) pgSetShapeRect (shape_ref the_shape, rectangle_ptr rect);PG_PASCAL (void) pgEraseShape     (shape_ref the_shape, pg_scale_ptr scale_factor, co_ordinate_ptr offset_extra, shape_section_ptr top_start, shape_section_ptr bottom_end);PG_PASCAL (void) pgDisposeShape (shape_ref the_shape);Display, Keyboard, SelectionPG_PASCAL (void) pgDisplay     (pg_ref pg, graf_device_ptr target_device, shape_ref vis_target, shape_ref wrap_target, co_ordinate_ptr offset_extra, short draw_mode);PG_PASCAL (void) pgInsert         (pg_ref pg, pg_byte_ptr data, long length, long position, short insert_mode, short modifiers, short draw_mode);PG_PASCAL (void) pgIdle         (pg_ref pg);PG_PASCAL (long) pgDragSelect     (pg_ref pg, co_ordinate_ptr location, short verb, short modifiers,short auto_scroll);0002000004CB0000119C4C5,PG_PASCAL (void) pgSetHiliteStates (pg_ref pg, short front_back_state, short perm_state, short should_draw);PG_PASCAL (void) pgGetHiliteStates (pg_ref pg, short PG_FAR *front_back_state, short PG_FAR *perm_state);PG_PASCAL (void) pgGetSelection     (pg_ref pg, long PG_FAR *begin_sel, long PG_FAR *end_sel);PG_PASCAL (void) pgSetSelection     (pg_ref pg, long begin_sel, long end_sel, short modifiers, short should_draw);PG_PASCAL (memory_ref) pgGetSelectionList (pg_ref pg,short for_paragraph);PG_PASCAL (void) pgSetSelectionList (pg_ref pg, memory_ref select_list, long extra_offset, short should_draw);PG_PASCAL (void) pgExtendSelection (pg_ref pg, long amount_ext, short modifiers, short should_draw);PG_PASCAL (short) pgGetHiliteRgn (pg_ref pg, select_pair_ptr range, memory_ref select_list, shape_ref rgn);PG_PASCAL (pg_short_t) pgNumSelections (pg_ref pg);PG_PASCAL (short) pgCaretPosition (pg_ref pg, long offset, rectangle_ptr caret_rect);PG_PASCAL (void) pgSetCursorState (pg_ref pg, short cursor_state);PG_PASCAL (short) pgGetCursorState (pg_ref pg);Text FormattingPG_PASCAL (long) pgGetStyleInfo     (pg_ref pg, select_pair_ptr selection, short set_any_match, style_info_ptr info, style_info_ptr mask);0002000005B8000016615B2,PG_PASCAL (short) pgFindStyleInfo    (pg_ref pg, long PG_FAR *begin_position, long PG_FAR *end_position, style_info_ptr match_style, style_info_ptr mask, style_info_ptr AND_mask);PG_PASCAL (void) pgSetStyleInfo     (pg_ref pg, select_pair_ptr selection, style_info_ptr info, style_info_ptr mask,  short draw_mode);PG_PASCAL (short) pgGetStyleClassInfo (pg_ref pg, long position, select_pair_ptr style_range);PG_PASCAL (void) pgSetStyleClassInfo (pg_ref pg, select_pair_ptr range, short class_AND, short class_OR, short draw_mode);PG_PASCAL (void) pgSetInsertionStyles (pg_ref pg, style_info_ptr style, font_info_ptr font);PG_PASCAL (long) pgGetParInfo     (pg_ref pg, select_pair_ptr selection, short set_any_match, par_info_ptr info, par_info_ptr mask);PG_PASCAL (void) pgSetParInfo     (pg_ref pg, select_pair_ptr selection, par_info_ptr info, par_info_ptr mask, short draw_mode);PG_PASCAL (void) pgSetFontInfo (pg_ref pg, select_pair_ptr selection, font_info_ptr info, font_info_ptr mask, short draw_mode);PG_PASCAL (long) pgGetFontInfo (pg_ref pg, select_pair_ptr selection, short set_any_match, font_info_ptr info, font_info_ptr mask);PG_PASCAL (memory_ref) pgGetFontTable (pg_ref pg);PG_PASCAL (void) pgInitStyleMask (style_info_ptr mask, short filler);PG_PASCAL (void) pgInitParMask (par_info_ptr mask, short filler);PG_PASCAL (void) pgInitFontMask (font_info_ptr mask, short filler);PG_PASCAL (void) pgInitStyleProcs (pg_style_hooks PG_FAR *procs);00020000059600001C13590,PG_PASCAL (void) pgInitParStyleProcs (pg_par_hooks PG_FAR *procs);PG_PASCAL (long) pgPtToStyleInfo (pg_ref pg, co_ordinate_ptr point, style_info_ptr style, select_pair_ptr range);PG_PASCAL (void) pgGetStyleInfoRec (pg_ref pg, short style_item, style_info_ptr format);PG_PASCAL (void) pgGetParInfoRec (pg_ref pg, short style_item, par_info_ptr format);PG_PASCAL (void) pgGetFontInfoRec (pg_ref pg, short font_index, font_info_ptr info);Style SheetsPG_PASCAL (short) pgNewStyle     (pg_ref pg, style_info_ptr new_style, font_info_ptr style_font);PG_PASCAL (void) pgRemoveStyle     (pg_ref pg, short style_id);PG_PASCAL (short) pgNumStyles     (pg_ref pg);PG_PASCAL (short) pgGetStyle     (pg_ref pg, short style_id, style_info_ptr style);PG_PASCAL (void) pgChangeStyle (pg_ref pg, short style_id, style_info_ptr style, font_info_ptr style_font, short draw_mode);PG_PASCAL (void) pgSetStyleSheet (pg_ref pg, select_pair_ptr selection, short style_id, short draw_mode);PG_PASCAL (short) pgGetStyleSheet (pg_ref pg, select_pair_ptr selection, short PG_FAR *style_id);PG_PASCAL (short) pgNewParStyle (pg_ref pg, par_info_ptr new_style);PG_PASCAL (void) pgRemoveParStyle (pg_ref pg, short style_id);PG_PASCAL (short) pgNumParStyles (pg_ref pg);PG_PASCAL (short) pgGetParStyle (pg_ref pg, short style_id, par_info_ptr style);PG_PASCAL (void) pgChangeParStyle (pg_ref pg, short style_id, par_info_ptr style, short draw_mode);000200000615000021A360F,PG_PASCAL (void) pgSetParStyleSheet (pg_ref pg, select_pair_ptr selection, short style_id, short draw_mode);PG_PASCAL (short) pgGetParStyleSheet (pg_ref pg,  select_pair_ptr selection, short PG_FAR *style_id);Cut, Copy, Paste, UndoPG_PASCAL (pg_ref) pgCut         (pg_ref pg, select_pair_ptr selection, short draw_mode);PG_PASCAL (pg_ref) pgCopy (pg_ref pg, select_pair_ptr selection);PG_PASCAL (text_ref) pgCopyText (pg_ref pg, select_pair_ptr selection, short data_type);PG_PASCAL (void) pgPaste         (pg_ref pg, pg_ref paste_ref, long position, short text_only, short draw_mode);PG_PASCAL (void) pgDelete         (pg_ref pg, select_pair_ptr delete_range, short draw_mode);PG_PASCAL (undo_ref) pgPrepareUndo (pg_ref pg,short verb,pg_ref paste_ref);PG_PASCAL (undo_ref) pgPrepareInsertUndo (pg_ref pg, undo_ref last_undo, pg_byte_ptr data, long length, short insert_mode, short modifiers);PG_PASCAL (undo_ref) pgUndo     (pg_ref pg, undo_ref ref, short requires_redo, short draw_mode);PG_PASCAL (short) pgUndoType     (undo_ref ref);PG_PASCAL (void) pgSetUndoRefCon (undo_ref ref, long refCon);PG_PASCAL (long) pgGetUndoRefCon (undo_ref ref);PG_PASCAL (void) pgDisposeUndo     (undo_ref ref);Tabs & “Ruler” SupportPG_PASCAL (void) pgSetTabBase     (pg_ref pg, long tab_base);PG_PASCAL (long) pgGetTabBase     (pg_ref pg);PG_PASCAL (void) pgSetTab         (pg_ref pg, select_pair_ptr selection, tab_stop_ptr tab, short draw_mode);PG_PASCAL (void) pgGetTabList     (pg_ref pg, select_pair_ptr selection, tab_ref tabs, memory_ref tab_mask, long PG_FAR *screen_offset);0002000005B3000027B25AD,PG_PASCAL (void) pgSetTabList     (pg_ref pg, select_pair_ptr selection, tab_ref tabs, memory_ref tab_mask, short draw_mode);PG_PASCAL (long) pgParMaxWidth     (pg_ref pg, long position);PG_PASCAL (void) pgGetIndents     (pg_ref pg, select_pair_ptr selection, pg_indents_ptr indents, pg_indents_ptr mask, long PG_FAR *left_screen_offset, long PG_FAR *right_screen_offset);PG_PASCAL (void) pgSetIndents     (pg_ref pg, select_pair_ptr selection, pg_indents_ptr indents, pg_indents_ptr mask, short draw_mode);ScrollingPG_PASCAL (void) pgSetScrollParams (pg_ref pg, short unit_h, short unit_v, short append_h, short append_v);PG_PASCAL (void) pgGetScrollParams (pg_ref pg, short PG_FAR *unit_h, short PG_FAR *unit_v, short PG_FAR *append_h, short PG_FAR *append_v);PG_PASCAL (short) pgGetScrollValues (pg_ref pg, short PG_FAR *h, short PG_FAR *v, short PG_FAR *max_h, short PG_FAR *max_v);PG_PASCAL (void) pgSetScrollValues (pg_ref pg, short h, short v, short align_line, short draw_mode);PG_PASCAL (void) pgScroll             (pg_ref pg, short h_verb, short v_verb, short draw_mode);PG_PASCAL (short) pgAdjustScrollMax (pg_ref pg, short draw_mode);PG_PASCAL (short) pgScrollToView (pg_ref pg, long text_offset, short h_extra, short v_extra, short align_line, short draw_mode);PG_PASCAL (void) pgScrollPosition (pg_ref pg, co_ordinate_ptr scroll_pos);PG_PASCAL (void) pgScrollPixels (pg_ref pg, long h, long v, short draw_mode);Special Text & Chars Utilities0002000007FE00002D5F7F8,PG_PASCAL (pg_byte_ptr) pgExamineText (pg_ref pg, long offset, text_ref *text, long PG_FAR *length);PG_PASCAL (long) pgNumTextblocks (pg_ref pg);PG_PASCAL (long) pgGetTextblock (pg_ref pg, long offset, text_block_ptr block, short want_pagination);PG_PASCAL (long) pgCharType     (pg_ref pg, long offset);PG_PASCAL (pg_short_t) pgCharByte (pg_ref pg, long offset, short PG_FAR *char_bytes);PG_PASCAL (long) pgTextSize     (pg_ref pg);PG_PASCAL (void) pgFindWord     (pg_ref pg, long offset, long PG_FAR *first_byte, long PG_FAR *last_byte, short left_side);PG_PASCAL (void) pgFindCtlWord     (pg_ref pg, long offset, long PG_FAR *first_byte, long PG_FAR *last_byte, short left_side);PG_PASCAL (void) pgFindPar     (pg_ref pg, long offset, long PG_FAR *first_byte, long PG_FAR *last_byte);PG_PASCAL (void) pgFindLine     (pg_ref pg, long offset, long PG_FAR *first_byte, long PG_FAR *last_byte);PG_PASCAL (long) pgFindCharType (pg_ref pg, long char_info, long PG_FAR *offset, pg_byte_ptr the_byte);Miscellaneous UtilitiesPG_PASCAL (long) pgGetChangeCtr (pg_ref pg);PG_PASCAL (long) pgSetChangeCtr (pg_ref pg, long ctr);PG_PASCAL (void) pgTextRect     (pg_ref pg, select_pair_ptr range, short want_scroll, short want_scaled, rectangle_ptr rect);PG_PASCAL (void) pgCharacterRect (pg_ref pg, long position, short want_scrolled, short want_scaled, rectangle_ptr rect);PG_PASCAL (long) pgPtToChar     (pg_ref pg, co_ordinate_ptr point, co_ordinate_ptr offset_extra);PG_PASCAL (short) pgPtInView     (pg_ref pg, co_ordinate_ptr point, co_ordinate_ptr offset_extra);PG_PASCAL (long) pgTotalTextHeight (pg_ref pg, short paginate);PG_PASCAL (void) pgPaginateNow     (pg_ref pg, long paginate_to, short use_best_guess);PG_PASCAL (void) pgSelectToShape (pg_ref pg, memory_ref select_shape, short should_draw);PG_PASCAL (void) pgInvalSelect     (pg_ref pg, long select_from, long select_to);Pagination SupportPG_PASCAL (void) pgGetDocInfo     (pg_ref pg, pg_doc_ptr doc_info);PG_PASCAL (void) pgSetDocInfo     (pg_ref pg, pg_doc_ptr doc_info, short should_draw);000200000800000035577FA,Scaling & PrintingPG_PASCAL (void) pgSetScaling     (pg_ref pg, pg_scale_ptr scale_factor, short draw_mode);PG_PASCAL (void) pgGetScaling     (pg_ref pg, pg_scale_ptr scale_factor);PG_PASCAL (void) pgScaleLong     (long scale_factor, long origin, long PG_FAR *value);PG_PASCAL (void) pgScalePt     (pg_scale_ptr scale_factor, co_ordinate_ptr pt);PG_PASCAL (void) pgScaleRect     (pg_scale_ptr scale_factor, rectangle_ptr rect);PG_PASCAL (void) pgScaleRectToRect (pg_scale_ptr scale_factor, rectangle_ptr src_rect, rectangle_ptr target_rect, co_ordinate_ptr offset_extra);PG_PASCAL (long) pgPrintToPage (pg_ref pg, graf_device_ptr target, long starting_position, rectangle_ptr page_rect, short draw_mode);PG_PASCAL (short) pgNumPages     (pg_ref pg, rectangle_ptr page_rect);PG_PASCAL (long) pgFindPage     (pg_ref pg, short page_num, rectangle_ptr page_rect);File I/O SupportPG_PASCAL (void) pgInitStandardHandlers (pg_globals_ptr globals);PG_PASCAL (void) pgSetHandler     (pg_globals_ptr globals, pg_handler_ptr handler);PG_PASCAL (short) pgGetHandler     (pg_globals_ptr globals, pg_handler_ptr handler);PG_PASCAL (short) pgSaveDoc     (pg_ref pg, long PG_FAR *file_position, pg_file_key_ptr keys, pg_short_t num_keys, file_io_proc write_proc, file_ref filemap);PG_PASCAL (short) pgReadDoc     (pg_ref pg, long PG_FAR *file_position, pg_file_key_ptr keys, pg_short_t num_keys, file_io_proc read_proc, file_ref filemap);“Walker” FunctionsPG_PASCAL (void) pgPrepareStyleWalk (paige_rec_ptr pg, long offset, style_walk_ptr walker);PG_PASCAL (short) pgWalkNextStyle (style_walk_ptr walker);PG_PASCAL (short) pgWalkStyle     (style_walk_ptr walker, long amount);PG_PASCAL (short) pgSetWalkStyle (style_walk_ptr walker, long position);Mail MergePG_PASCAL (short) pgMergeText     (pg_ref pg, style_info_ptr matching_style, style_info_ptr mask, style_info_ptr AND_mask, long ref_con, short draw_mode);PG_PASCAL (void) pgRestoreMerge (pg_ref pg, short revert_original, short draw_mode);Function Pointers (“Hook” Definitions)typedef void PG_FAR *pg_proc;0002000006A700003D516A1,typedef PG_PASCAL (void)     (*line_measure_proc) (void* pg, pg_measure_ptr measure);typedef PG_PASCAL (short)     (*line_adjust_proc) (void* pg, text_block_ptr block, point_start_ptr starts, pg_short_t num_starts, rectangle_ptr line_fit, void *par_format);typedef PG_PASCAL (short)     (*hyphenate_proc) (void* pg, text_block_ptr block, void *styles, pg_byte_ptr block_text, long line_begin, long *line_end, long *positions, short *char_types);typedef PG_PASCAL (void)     (*hilite_rgn_proc) (void* pg, t_select_ptr selections, pg_short_t select_qty, shape_ref rgn);typedef PG_PASCAL (void)     (*draw_hilite_proc) (void* pg, shape_ref rgn);typedef PG_PASCAL (void)     (*draw_cursor_proc) (void* pg, t_select_ptr select, short verb);typedef PG_PASCAL (void) (*text_load_proc) (void* pg, text_block_ptr text_block);typedef PG_PASCAL (void)     (*pt2_offset_proc) (void* pg, co_ordinate_ptr point, short no_half_chars, t_select_ptr selection);typedef PG_PASCAL (void)     (*font_init_proc) (void* pg, font_info_ptr info);typedef PG_PASCAL (void)     (*style_init_proc) (void* pg, void *style, font_info_ptr font);typedef PG_PASCAL (void)     (*install_font_proc) (void* pg_globals, void *style, font_info_ptr font, short include_offscreen);typedef PG_PASCAL (void)     (*special_char_proc) (void* pg, void* walker, pg_byte_ptr data, pg_short_t offset, pg_short_t length, draw_points_ptr draw_position, long extra, short draw_mode);typedef PG_PASCAL (void)     (*draw_scroll_proc) (void* pg, shape_ref update_rgn, co_ordinate_ptr scroll_pos);typedef PG_PASCAL (void)     (*bitmap_modify_proc) (void* pg, graf_device_ptr bits_port,short post_call, rectangle_ptr bits_rect, co_ordinate_ptr screen_offset, long text_position);000200000606000043F2600,typedef PG_PASCAL (void)     (*wait_process_proc) (void* pg, short wait_verb, long progress_ctr, long completion_ctr);typedef PG_PASCAL (void)     (*draw_page_proc) (paige_rec_ptr pg, shape_ptr page_shape, pg_short_t r_qty, pg_short_t page_num, co_ordinate_ptr vis_offset);typedef PG_PASCAL (void)     (*measure_proc) (void* pg, void *style, font_info_ptr font, pg_byte_ptr data, long length, pg_short_t slop, long *positions, short *types, long current_offset);typedef PG_PASCAL (short)     (*merge_proc) (void* pg, void *style, pg_byte_ptr text_data, pg_short_t length, text_ref merged_data, long ref_con);typedef PG_PASCAL (long)     (*track_control_proc) (void* pg, void *style, select_pair_ptr text_range, co_ordinate_ptr track_point, pg_byte_ptr text, long length, co_ordinate_ptr top_left_screen_point, short modifiers);typedef PG_PASCAL (short)     (*char_info_proc) (void* pg, void* walker, pg_byte_ptr data, long local_offset);typedef PG_PASCAL (void)     (*text_draw_proc) (void* pg, void* walker, pg_byte_ptr data, pg_short_t offset, pg_short_t length, draw_points_ptr draw_position, long extra, short draw_mode);typedef PG_PASCAL (void)     (*dup_style_proc) (void* pg, void *style);typedef PG_PASCAL (void)     (*delete_style_proc) (void* pg, void *style);typedef PG_PASCAL (void)     (*copy_text_proc) (void* pg, void *style, long style_position, long text_position, pg_byte_ptr text, long length);typedef PG_PASCAL (void)     (*delete_text_proc) (void* pg, void *style, long style_position, long text_position, pg_byte_ptr text, long length);000200000648000049F2642,typedef PG_PASCAL (short)     (*setup_insert_proc) (void* pg, void* to_be_inserted, long position);typedef PG_PASCAL (void)     (*par_glitter_proc) (void* pg, void *par_style, point_start_ptr line_pts, long block_begin, pg_short_t first_pt, pg_short_t last_pt, co_ordinate_ptr offset_extra);typedef PG_PASCAL (void)     (*line_glitter_proc) (void* pg, void *par_style, point_start_ptr line_pts, long block_begin, pg_short_t first_pt, pg_short_t last_pt, co_ordinate_ptr offset_extra);typedef PG_PASCAL (long)     (*tab_measure_proc) (void *pg, void *walker, long cur_pos, long line_left, pg_byte_ptr text, pg_short_t text_length, long PG_FAR *char_positions, pg_short_t PG_FAR *tab_rec_info);typedef PG_PASCAL (void)     (*tab_draw_proc) (void* pg, void *walker, tab_stop_ptr tab, draw_points_ptr draw_position);typedef PG_PASCAL (void)     (*dup_par_proc) (void* pg, void *par_style);typedef PG_PASCAL (void)     (*delete_par_proc) (void* pg, void *par_style);typedef PG_PASCAL (short)     (*file_io_proc) (void* data, short verb, long PG_FAR *position, long PG_FAR *data_size, file_ref filemap);typedef PG_PASCAL (void)     (*pg_handler_proc) (void* pg, pg_file_key key, memory_ref key_data, long PG_FAR *element_info, memory_ref aux_data);Summary of Structure & Definitions#definesCharacter bits#define NO_WRAP_BIT         0x00000001    /* Wraps only on <CR> or <LF> */#define NO_LF_BIT            0x00000002    /* <LF> char ignored */#define NO_EDIT_BIT        0x00000008    /* No editing (display only) */#define NO_HILITE_BIT        0x00000010    /* Cannot be selected */#define NO_HIDDEN_TEXT_BIT    0x00000040    /* Do not display hidden text */00020000066600005034660,#define SHOW_INVIS_CHAR_BIT    0x00000080    /* Show invisible character(s) active */Internal attributes#define DEACT_BIT            0x00010000    /* PAIGE is deactivated (won't hilite) */#define PERM_DEACT_BIT        0x00020000    /* App wants no highlighting */#define CARET_BIT            0x00040000    /* Caret is currently showing */#define PRINT_MODE_BIT        0x00200000    /* pg_ref is "printing" */#define MERGE_MODE_BIT        0x00400000    /* pg_ref is in "merge" mode */Values returned from char interrogation#define BLANK_BIT            0x0001    /* Character is blank */#define WORD_BREAK_BIT        0x0002    /* Word breaking char */#define WORD_SEL_BIT        0x0004    /* Word select char */#define SOFT_HYPHEN_BIT        0x0008    /* Soft hyphen char */#define INCLUDE_BREAK_BIT    0x0010    /* Word break but include with word */#define INCLUDE_SEL_BIT        0x0020    /* Select break but include with word */#define CTL_BIT            0x0040    /* Char is a control code */#define INVIS_ACTION_BIT    0x0080     /* Char is not a display char, but arrow, bs, etc. */#define PAR_SEL_BIT        0x0100    /* Char breaks a paragraph */#define LINE_SEL_BIT        0x0200    /* Char breaks a line (soft CR) */#define TAB_BIT            0x0400    /* Char performs a TAB */#define DECIMAL_CHAR_BIT    0x0800    /* Char is decimal (for decimal tab)  */#define FIRST_HALF_BIT        0x1000    /* 1st half of a multi-byte char */#define LAST_HALF_BIT        0x2000    /* Last half of a multi-byte char */#define MIDDLE_CHAR_BIT        0x4000    /* Middle of a multi-byte char run */#define CONTAINER_BRK_BIT    0x8000    /* Break-container bit */Bits passed to pgDragSelect#define EXTEND_MOD_BIT        0x0001    /* Extend the selection */#define WORD_MOD_BIT        0x0002    /* Select whole words only */0002000007E2000056947DC,#define PAR_MOD_BIT        0x0004    /* Select whole paragraphs only */#define LINE_MOD_BIT        0x0008    /* Highlight whole lines */#define VERTICAL_MOD_BIT    0x0010    /* Allow vertical selection */#define DIS_MOD_BIT        0x0020    /* Enable discontiguous selection */#define STYLE_MOD_BIT        0x0040    /* Select whole style range */#define WORD_CTL_MOD_BIT    0x0080      /* Select "words" delineated with controls */#define NO_HALF_CHARS_BIT    0x0100       /* Click does not go left/right on half chars */Possible bits within point start#define LINE_BREAK_BIT        0x8000    /* Line ends here */#define PAR_BREAK_BIT        0x4000    /* Paragraph ends here */#define SOFT_PAR_BIT        0x2000    /* Soft CR ends line */#define BLOCK_END_BIT        0x1000    /* Whole block ends here */#define LINE_GOOD_BIT        0x0800    /* This line requires no recalc */#define NEW_LINE_BIT        0x0400    /* New line starts here */#define NEW_PAR_BIT        0x0200    /* New paragraph starts here */#define WORD_HYPHEN_BIT        0x0100    /* Draw a hyphen after this text */#define TAB_BREAK_BIT        0x0080    /* Tab char terminates this line */#define CTL_CHARS_BIT        0x0040    /* Chars are "control" style */#define CUSTOM_CHARS_BIT    0x0020     /* Style(s) are known only to app (so don't play games with display) */#define SOFT_BREAK_BIT        0x0010    /* Start breaks on soft hyphen */#define BREAK_CONTAINER_BIT    0x0008    /* Line breaks for next container */#define BREAK_EXCLUDE_BIT    0x0004    /* Line broke for exclusion */#define LINE_HIDDEN_BIT        0x0002    /* Line is invisible (hidden text) */#define TERMINATOR_BIT        0x0001    /* Flagged only as terminator record */Possible result bits from pgPtInView#define WITHIN_VIS_AREA        0x0001    /* Point is within vis region of PAIGE */#define WITHIN_WRAP_AREA    0x0002    /* Point is within wrap shape of PAIGE */#define WITHIN_EXCLUDE_AREA    0x0004    /* Point is within exclusion shape of PAIGE */#define WITHIN_TEXT        0x0008    /* Point is in text area  */Possible value(s) set in class_bits for style_info#define CANNOT_HILITE_BIT    0x0001    /* Do not include highlight region in this style */00020000052400005E7051E,#define CANNOT_BREAK        0x0002     /* Non-breaking style (words can't break) */#define STYLE_IS_CONTROL    0x0004    /* Style is "control" type item */#define GROUP_CHARS_BIT        0x0008    /* All chars are selected as one */#define STYLE_MERGED_BIT    0x0010     /* Style has been merged in "merged mode" */#define STYLE_IS_CUSTOM        0x0020    /* Style is known only to app */#define HILITE_RESTRICT_BIT 0x0040    /* Cannot select outside of of style */#define CANNOT_WRAP_BIT        0x0080     /* Cannot wrap bit (used for tables, etc.) */#define VERTICAL_TEXT_BIT    0x8000    /* Vertical text (* future support *) */Some default font codes#define WINDOW_FONT        0        /* Font used in windows, etc. */#define DEF_FIXED_FONT        1        /* Default fixed-spaced font */#define DEF_PROP_FONT        2        /* Default variable spaced font */#define TIMES_ROMAN        3        /* Times font */#define HELVETICA_FONT        4        /* Helvetica font */#define GOTHIC_FONT        5        /* Gothic font */#define COURIER_FONT        6        /* Courier font */#define SYMBOL_FONT        7        /* Symbol font */Font environment settings#define NAME_IS_CSTR        1        /* Font name is a cstring */#define MAC_FONT            2        /* Font is a Macintosh font */#define WINDOWS_FONT        4        /* Font is a Windows font *//* (other definitions will evolve */Misc. #defines#define SIMPLE_SHAPE_QTY    2        /* Number of rects for a simple shape */0002000005450000638E53F,#define CURRENT_POSITION    -1        /* Insert at current positions */#define TAB_BOUNDS_RELATIVE    -1    /* Tab base is relative to wrap bound's left */#define TAB_WRAP_RELATIVE    -2    /* Tab base is relative to current wrap edge */#define PG_FUTURE            8    /* Number of long's reserved for future */Text block flags#define NEEDS_CALC            0x0001    /* One or more lines need re-calc */#define NEEDS_PAGINATE        0x0002    /* Needs re-paginatation */#define SOME_LINES_GOOD        0x0004    /* One or more lines are probably OK */#define SOME_LINES_BAD        0x0008     /* Flags means we already tagged bad lines */#define BROKE_BLOCK        0x0010     /* Terminator char deleted */#define ALL_TEXT_HIDDEN        0x0020    /* All text in block is hidden! */#define BOUNDS_GUESSED        0x0040     /* Best guess only has been made for bounds rect */typedefsVerbs for pgInserttypedef enum {    key_insert_mode,                /* Typing insertion */    key_buffer_mode,                /* Typing-buffer insertion */    data_insert_mode                /* Raw data insertion */} insertion_mode;Draw verbstypedef enum {    draw_none,                    /* Do not draw at all */    best_way,                    /* Use most effecient method(s) */    direct_copy,                    /* Directly to screen, overwrite */    direct_or,                    /* Directly to screen, "OR" */    direct_xor,                    /* Directly to screen, "XOR" */    bits_copy,                    /* Copy offscreen */    bits_or,                        /* Copy offscreen in "OR" mode */00020000053E000068CD538,    bits_xor                        /* Copy offscreen in "XOR" mode */} display_mode;Mouse tracking verbstypedef enum {    mouse_down,                    /* First time click */    mouse_moved,                    /* Mouse moved */    mouse_up                        /* Mouse up */} mouse_track_mode;Style index definitionstypedef enum {    bold_var,    italic_var,    underline_var,    outline_var,    shadow_var,    condense_var,    extend_var,    dbl_underline_var,    word_underline_var,    dotted_underline_var,    hidden_text_var,    strikeout_var,    superscript_var,    subscript_var,    rotation_var,                /* - reserved for rotation feature(s) */    custom_var                    /* app-defined */} style_index;Super/subscript action verbstypedef enum {    baseline_relative,                /* Draw from line's baseline */    percent_of_style                /* Draw relative to percent of baseline */};Justification modestypedef enum {    justify_left,                    /* Left justify */    justify_center,                    /* Center justify */    justify_right,                    /* Right justify */    justify_full,                    /* Full justify */    force_left,            /* Force left (regardless of writing dir.) */    force_right            /* Force right (regardless of writing dir.) */} text_alignment;Writing direction modestypedef enum {    right_left_direction = -1,        /* Right-to-left */    system_direction,                /* Direction defined by OS */    left_right_direction                /* Left-to-right */} primary_direction;Tab type definitions00020000054B00006E05545,typedef enum {    no_tab,                /* none (used to delete and/or report "none") */    left_tab,                    /* Left tab */    center_tab,                    /* Center tab */    right_tab,                    /* Right tab */    decimal_tab                    /* Decimal tab */} tab_kind;Action verbs of get datatypedef enum {    all_data,                    /* Return all data */    all_text_chars,                /* All text that is writing script */    all_roman                    /* All Roman ASCII chars */};Undo action verbstypedef enum {    undo_none,                    /* Null undo ("can't undo") */    undo_typing,                    /* Undo key insertion(s) */    undo_delete,                    /* Undo clear/cut/delete */    undo_paste,                    /* Undo paste/insert */    undo_format                    /* Undo text style or par format or font */} undo_verb;Scroll action verbstypedef enum {    scroll_none,                    /* Do not scroll */    scroll_unit,                    /* Scroll one unit */    scroll_page,                    /* Scroll one page unit */    scroll_home,                    /* Scroll to top */    scroll_end                    /* Scroll to end */} scroll_verb;Cursor state action verbstypedef enum {    dont_draw_cursor,                /* Do nothing */    toggle_cursor,                    /* Toggle cursor based on timer */    force_cursor_off,                /* Turn cursor off */    force_cursor_on,                /* Turn cursor on */    update_cursor                    /* Redraw cursor per current state */} cursor_mode;File handler keytypedef pg_short_t pg_file_key, PG_FAR *pg_file_key_ptr;Default key handler verbstypedef enum {00020000043C0000734A436,    paige_key,                    /* PAIGE record info */    text_block_key,                    /* Text block record */    text_key,                    /* Text bytes */    line_key,                    /* Point_start info */    style_run_key,                    /* Style runs */    par_run_key,                    /* Paragraph runs */    style_info_key,                    /* Style_info records */    par_info_key,                    /* Par_info data */    font_info_key,                    /* Font_info records */    vis_shape_key,                /* PAIGE's vis area */    page_shape_key,                    /* PAIGE's wrap area */    exclude_shape_key,                /* PAIGE's exclude area */    selections_key,                    /* List of selections */    extra_struct_key,                /* Extra stuff from app */    applied_range_key,                /* Special applied range for copies */    doc_info_key,                    /* Document info */    containers_key,                    /* Container ref_cons key */    exclusions_key,                    /* Exclusion ref_cons key */    shape_list_key,                    /* List of shapes */    graph_list_key,                    /* List of graphics */    unknown_key_key,                /* Unrecognized key handler */    unspecified_key,                /* Bytes/words/longs, not specific */    exception_key,                    /* Error handler */    style_init_key,                    /* Init style procs key */00020000044B00007780445,    par_init_key,                    /* Init par procs key */    font_init_key,                    /* Init font key */    PLATFORM_SPECIFIC_KEY            /* For app and platform-specific keys */};#define CUSTOM_HANDLER_KEY    (PLATFORM_SPECIFIC_KEY + 1024)    /* App can use this for keys */Macintosh-specific keystypedef enum {    mac_pict_key = PLATFORM_SPECIFIC_KEY,    /* Mac Pictures */    mac_control_key,                /* Mac Control */    mac_sound,                    /* Sound record */    mac_quicktime,                    /* QuickTime pic */    mac_print_key                    /* Mac print record */};Extend proc verbstypedef enum {    pg_new,                        /* pgNew has been called */    pg_dispose                    /* About to do a pgDispose */};I/O Verbs typedef enum {    io_data_verb,                    /* Read or write data */    io_get_eof                    /* Return file size */};Text block feed action verbstypedef enum {    use_block,                    /* Will be using block */    unuse_block,                    /* No longer using block */    break_block                    /* Break this block */};Highlight state verbstypedef enum {    no_change_verb,                    /* State stays the same */    activate_verb,                    /* Set to active mode */    deactivate_verb                    /* Set to deactive mode */00020000044900007BC5443,};"Wait function" verbstypedef enum {    paginate_wait,                    /* Long pagination */    copy_wait,                    /* Long copy */    insert_wait                    /* Long paste (insert) */};memory_refsSeen by the apptypedef memory_ref        pg_ref;        /* Reference ID for a PAIGE object */typedef memory_ref        shape_ref;    /* Memory ref containing a "shape" */typedef memory_ref        text_ref;        /* Memory ref containing text data */typedef memory_ref        line_ref;        /* Memory ref containing line info */typedef memory_ref        tab_ref;        /* Memory ref contain tab records */typedef memory_ref        hooks_ref;    /* Memory ref for "next_hookset" */typedef memory_ref        select_ref;    /* Selection points (longs) */typedef memory_ref        file_ref; /* File reference (contains machine stuff) */typedef memory_ref        undo_ref;        /* For Undo support */Additional typedef'd memory_refs (that app won't usually need to see)typedef memory_ref        block_ref;    /* For text_block arrays */typedef memory_ref        format_ref;    /* For style record array */typedef memory_ref        par_ref;        /* Paragraph record array */typedef memory_ref        font_ref;        /* Font table */00020000042F00008008429,typedef memory_ref        style_ref;    /* Style run array */ShapesCoordinate or "Point"typedef struct {    long    v;                    /* vertical position */    long    h;                    /* horizontal position */} co_ordinate;typedef co_ordinate PG_FAR *co_ordinate_ptr; /* "FAR" pointer for coordinate */From/To drawing pointtypedef struct {    co_ordinate    from;            /* Draw from */    co_ordinate    to;                /* Draw to */    long    real_offset;            /* Actual offset into all text */    long    ascent;                /* Distance to top of line from baseline */    long    descent;        /* Distance to bottom of line from baseline */    pg_short_t    start_flags;    /* Flags from current point_start records */} draw_points;typedef draw_points PG_FAR *draw_points_ptr;Rectangletypedef struct {    co_ordinate    top_left;            /* Top-left of rect */    co_ordinate    bot_right;        /* Bottom-right of rect */} rectangle;typedef rectangle PG_FAR *rectangle_ptr;typedef rectangle         shape;    /* Also a "shape" for practical purposes */typedef rectangle_ptr    shape_ptr;Shape sectiontypedef struct {    pg_short_t    r_num;            /* Rectangle number (index) */00020000041F00008431419,    long        v_position;        /* Vertical position (from top) */} shape_section;typedef shape_section PG_FAR *shape_section_ptr;Color variabletypedef struct {    unsigned short    red;                /* Red composite */    unsigned short    green;            /* Green composite */    unsigned short    blue;            /* Blue composite */    pg_short_t    alpha;            /* Optional value (machine dependent) */} color_value;Page shape info record (used for lots of different shape attributes)typedef struct {    long    attributes;                /* Various attributes (see below) */    short    page_origin;            /* What corner = origin */    co_ordinate    repeat_slop;        /* Minimum remaining before repeat */    co_ordinate    repeat_offset;        /* About of "gap" for repeater shapes */    rectangle    print_target;        /* App can use as printed page size */    rectangle  margins;    /* Applied page margins (* future enhancement *() */    pg_short_t  num_pages;            /* Number of "real" pages */    long    future[PG_FUTURE];        /* Reserved for future */    long    ref_con;                /* App can store whatever */} pg_doc_info, PG_FAR *pg_doc_ptr;Page info attributes00020000044A0000884A444,typdef enum {                    /* Origin corners for document */    top_left_origin,    top_right_origin,    bot_right_origin,    bot_left_origin};#define V_REPEAT_BIT            0x00000001    /* Shape repeats vertically */#define H_REPEAT_BIT            0x00000002    /* Shape repeats horizontally */#define BOTTOM_FIXED_BIT        0x00000004  /* Shape's bottom does not grow */#define RECTS_DONT_MERGE_BIT    0x00000008    /* Touching rects do not merge */#define NO_CONTAINER_JMP_BIT    0x00000010    /* Can't jump containers */#define MAX_SCROLL_ON_SHAPE    0x00000020    /* Maximum scroll is on shape only */#define CLIP_PAGE_AREA        0x00000040    /* Page area clips text */Text and container informationLine info record (becomes array of screen positions)typedef struct {    pg_short_t    offset;            /* Position into text */    pg_short_t    r_num;        /* Wrap rectangle record where this sits */    pg_short_t    extra;    /* Tab record if 0x8000, otherwise full justify value */    short    baseline;                /* Distance from bottom to draw */    short    flags;                    /* Various attributes flags */    rectangle    bounds;    /* Point(s) that enclose text piece exactly */ } point_start;00020000044A00008C8E444,typedef point_start PG_FAR *point_start_ptr;typedef struct {    long    begin;                    /* Relative offset beginning */    long    end;                    /* Relative offset ending */    rectangle    bounds;            /* Entire area this includes */    text_ref    text;                    /* Actual text data */    line_ref    lines;                    /* Point_start run for lines */    short    flags                    /* Used internally by PAIGE */    pg_short_t    first_line_num;    /* First "line number"  */    pg_short_t    num_lines;        /* Number of lines */    pg_short_t    first_par_num;        /* First "paragraph number */    pg_short_t    num_pars;            /* Number of paragraphs */    point_start    end_start;        /* Copy of ending point_start in block */    tb_append_t    user_var;            /* Can be used for anything */} text_block;typedef text_block PG_FAR *text_block_ptr;    /* "FAR" pointer for text_block */Text style run recordtypedef struct {    long    offset;                    /* Absolute text offset */    pg_short_t    style_item;        /* Index to style records */} style_run;typedef style_run PG_FAR *style_run_ptr;    /* "FAR" pointer for style run */Font table record#define FONT_SIZE        64            /* Size of font name */typedef struct {000200000453000090D244D,    pg_byte    name[FONT_SIZE];            /* “Name” of font */    short    environs;                /* Machine-specific attributes */    short    typeface;                /* Typography class */    short    family_id;                /* Font ID code */    short    char_type;                /* Type of character set ("script" for Mac) */    long    machine_var[8];            /* Used for machine-specific purposes */    font_append_t user_var;            /* Can be whatever */} font_info;typedef font_info PG_FAR *font_info_ptr;    /* "FAR" pointer for font_info */Tab recordtypedef struct {    long    tab_type;                /* Type of tab */    long    position;                /* Tab position */    long    leader;                    /* Tab leader, or null */    tab_append_t    user_var;            /* Can be used for anything */} tab_stop;typedef tab_stop PG_FAR *tab_stop_ptr;    /* "FAR" pointer for tab record */Pair defining a selection rangetypedef struct {    long    begin;                /* Beginning offset of some text portion */    long    end;                    /* Ending offset of some text portion */} select_pair;typedef select_pair PG_FAR *select_pair_ptr;Record to save character positions, for performancetypedef struct {    memory_ref    positions;        /* Ref that holds positions */00020000042C0000951F426,    memory_ref    types;            /* Ref that holds char_info stuff */    long    offset;                    /* Last offset set */    long    end;                    /* Ending offset of char widths */} char_widths;Special record passed to the line measure proctypedef struct {    short    previous_flags;            /* Ending flags at last line's end */    short    prv_prv_flags;            /* Previous flags before above */    short    wrap_dimension;            /* Bits defining how complex wrap is */    long    line_text_size;            /* Total use of text in line */    long    extra_width;        /* Amount of width not used after line calculated */    void PG_FAR    *styles;            /* Pointer to the style_walk record */    text_block_ptr    block;            /* Current text block */    point_start_ptr    starts;            /* Current point start ptr */    pg_short_t    starts_ctr;        /* Number of starts remaining */    long PG_FAR    *char_locs;        /* Current character locations */    short PG_FAR    *char_types;        /* Current character types */    long PG_FAR    *positions;        /* Original character locations */    short PG_FAR    *types;            /* Original character types */    rectangle    fit_rect;            /* Rect in which line must fit */00020000043600009945430,    rectangle    actual_rect;    /* Resulting rect that encloses new line */    pg_short_t    num_starts;        /* Number of start records generated */    line_ref        starts_ref;        /* Memory_ref of starts */    memory_ref    tab_info;            /* Contans tab_width_info (see below) */    rectangle_ptr    wrap_r_begin;        /* Top wrap rectangle */    rectangle_ptr    wrap_r_end;        /* End wrap rectangle (often the same) */    pg_short_t    r_num_begin;        /* Current wrap-target rectangle */    pg_short_t    r_num_end;        /* Ending rect of line (for complex wrap) */    pg_short_t    end_r;            /* Ending record index for wrap rects */    memory_ref    exclude_ref;        /* Holds "exclusion" rectangles */    long    wrap_r_save;    /* Saves old bottom (I replace with 0x7FFFFFFF) */} pg_measure, PG_FAR *pg_measure_ptr;typedef struct {    long    offset;                    /* Text position relative to start */    long    width;                    /* Effective width when measuring */    pg_short_t    extra;            /* Info from tab_width proc */    short    type;                    /* Recorded type (record used for other chars) */} tab_width_info, PG_FAR *tab_width_ptr;UndoInternal struct used for Undo records00020000042B00009D75425,typedef struct {    short    verb;                    /* Type of undo (for app's reference) */    short    real_verb;        /* Internal action verb (could be different) */    pg_ref    data;                    /* Data (different for each verb) */    memory_ref    keyboard_ref;        /* Used for backspace-key-undo */    format_ref    keyboard_styles;    /* Styles possibly backspaced */    format_ref    keyboard_pars;        /* Paragraphs possibly backspaced */    memory_ref    applied_range;        /* Range to apply Undo */    select_pair    alt_range;        /* Range for Undo Paste & other things */    select_pair    keyboard_delete;    /* Delete range for backspace undo */    long    ref_con;                /* App can set this */} pg_undo;typedef pg_undo PG_FAR *pg_undo_ptr;KeyboardArray of records in keyboard_reftypedef struct {    pg_byte    text_byte[2];        /* Byte backspaced (1 extra for padding) */    pg_short_t    style_item;        /* Style (locally indexed) */    pg_short_t    par_item;            /* Paragraph (locally indexed) */} pg_kb_data;typedef pg_kb_data PG_FAR *pg_kb_ptr;SelectionText selection point record (defines "caret" or visual selection points)typedef struct {0002000004300000A19A42A,    long    offset;                    /* Absolute text offset */    select_pair    word_offsets;        /* Original word offsets if applicable */    co_ordinate    original_pt;        /* Original point of selection */    pg_short_t    line;            /* Point start number */    short    caret;                    /* Offset from left for "caret" */    short    flags;                    /* Contains internal attributes */} t_select;typedef t_select PG_FAR *t_select_ptr;Graf devicePortable "graphics port" or windowtypedef struct {    void PG_FAR    *machine_var;        /* Machine-dependent item */    void PG_FAR    *vis_rgn;            /* Machine-dependent vis_area region */    void PG_FAR    *page_rgn;        /* Machine-dependent page_area region */    void PG_FAR    *exclude_rgn;    /* Machine-dependent exclude_area region */    void PG_FAR    *clip_rgn;        /* Machine-dependent composite clip region */    co_ordinate    scroll_base;    /* Last scroll pos clip rgns were built */    long    machine_ref;            /* Additional ref for machine */    long    machine_ref2;            /* More info for machine */    memory_ref    graf_stack;        /* Use to “push” previous stuff */    port_append_t user_var;            /* Can be used for whatever */00020000043E0000A5C4438,} graf_device, PG_FAR *graf_device_ptr;    /* "FAR" pointer for graf_device */ScalingScaling factor recordtypedef struct {    co_ordinate    origin;            /* Relative origin */    long    scale;                    /* Scaling (hiword / loword fraction) */} pg_scale_factor, PG_FAR *pg_scale_ptr;Custom procsStyle procs for custom styles:typedef struct {    style_init_proc    init;            /* Initialize style_info */    install_font_proc    install;        /* Set up "current" font & style */    measure_proc    measure;            /* Measure char positions */    merge_proc    merge;            /* Substitute other text */    char_info_proc    char_info;        /* Return info about a char */    text_draw_proc    draw;            /* Draw the character(s) draw characters */    dup_style_proc    duplicate;        /* Style will get duplicated */    delete_style_proc    delete_style;    /* Style will get deleted */    copy_text_proc    copy_text;        /* Text of style will be copied */    delete_text_proc    delete_text;    /* Text of style will be deleted */    setup_insert_proc    insert_proc;    /* Set up the style for a future insert */    track_control_proc    track_ctl;    /* Mouse track for "control" type style*/0002000004180000A9FC412,    hooks_ref    next_hookset;        /* Optional daisy-chain hooks */} pg_style_hooks;Paragraph procs for custom paragraphstypedef struct {    par_glitter_proc    par_glitter;     /* Draw ornaments, paragraph */    line_glitter_proc    line_glitter;    /* Draw ornaments, line */    tab_measure_proc    tab_width;    /* Return the tab position */    tab_draw_proc    tab_draw;            /* Draws leaders */    dup_par_proc    duplicate;        /* Style will get duplicated */    delete_par_proc    delete_par;        /* Style will get deleted */    hooks_ref    next_hookset;        /* Daisy-chained hooks or NULL */} pg_par_hooks;PAIGE general hook recordtypedef struct {    line_measure_proc    line_proc;    /* Measure a line */    line_adjust_proc    adjust_proc;    /* Adjust a line */    hyphenate_proc    hyphenate;        /* Hyphenate word */    hilite_rgn_proc    hilite_rgn;        /* Make highlight region */    draw_hilite_proc    hilite_draw;    /* Draw (invert) highlight */    text_load_proc    load_proc;    /* Load text for text_block */    draw_cursor_proc    cursor_proc;    /* Draw a caret */    pt2_offset_proc    offset_proc;        /* Find offset matching point */00020000045A0000AE0E454,    font_init_proc    font_proc;        /* Set up fields in font_info */    special_char_proc    special_proc;    /* Special character draw proc */    draw_scroll_proc    scroll_proc;    /* Called to draw during scroll */    bitmap_modify_proc    bitmap_proc;    /* Modify offscreen draw proc */    wait_process_proc    wait_proc;    /* Called for long crunches */    hooks_ref    next_hookset;        /* Linked proc list, if any */} pg_hooks;Character & paragraph formatThe text format struct#define MAX_STYLES        16            /* Maximum # of styles in style_info */typedef struct {    short    font_index;                /* What font this style is in */    short    styles[MAX_STYLES];        /* Stylization */    short    char_bytes;                /* Number of bytes per character - 1 */    short    max_chars;            /* Maximum chars before new style begins */    short    ascent;                    /* This style’s ascent */    short    descent;                /* This style’s descent */    short    leading;                /* Regular leading */    short    shift_verb;                /* Superscript / Subscript verb */    short    class_bits;                /* Defines selection & behavior */    short    style_sheet_id;            /* Used for style sheet features */    color_value    fg_color;            /* Foreground color */0002000004370000B262431,    color_value    bk_color;            /* Background color */    long    machine_var;            /* Machine-specific use */    long    pitch;                    /* Pitch */    long    point;                    /* Point (if different than pitch) */    long    left_extra;                /* This style’s left leading */    long    right_extra;            /* This style’s right leading */    long    top_extra;                /* This style’s top leading */    long    bot_extra;                /* This style’s bottom leading */    long    space_extra;    /* Extra pixels for spaces ("fixed" value) */    long    char_extra;            /* Extra pixels for chars ("fixed" value) */    long    user_id;        /* Can be used by app to identify custom styles */    long    user_data;        /* Additional space for app if style is custom */    long    user_data2;                /* Additional space for app */    long    future[8];                /* Reserved for future expansion */    pg_style_hooks procs;            /* Contains functions on how to draw */    style_append_t user_var;            /* Can be used for anything */    short    maintenance;            /* (Used internally) */    long    used_ctr;                /* (used internally) */} style_info;typedef style_info PG_FAR *style_info_ptr;    /* "FAR" pointer for style record */0002000004550000B69344F,Paragraph indent struct (for "ruler" support)typedef struct {    long    left_indent;            /* Left margin (indent) */    long    right_indent;            /* Right margin (indent) */    long    first_indent;            /* First-line indent */} pg_indents, PG_FAR *pg_indents_ptr;Paragraph format recordtypedef struct {    short    justification;            /* How text is justified */    short    direction;                /* Primary text direction */    short    style_sheet_id;            /* Used for style sheet features */    long    def_tab_space;            /* Default tab space */    pg_indents    indents;            /* Indentations */    tab_ref    tabs;                    /* Tab stop information */    long    spacing;                /* Line spacing */    long    leading_extra;            /* Extra leading of lines */    long    leading_fixed;            /* Fixed leading (0 = auto) */    long    top_extra;                /* Extra space at top */    long    bot_extra;                /* Extra space at bottom */    long    left_extra;                /* Extra space at left */    long    right_extra;            /* Extra space at right */    long        user_id;        /* Can be used by app to identify custom par styles */    long    user_data;        /* Additional space for app if par is custom */    long    user_data2;                /* More space for app */00020000041B0000BAE2415,    long    future[PG_FUTURE];        /* Reserved for future enhancement */    pg_par_hooks procs;                /* Function pointers */    par_append_t user_var;            /* Can be used for anything */    short    maintenance;            /* (Used internally) */    long    used_ctr;                 /* (used internally) */} par_info;typedef par_info PG_FAR *par_info_ptr;    /* "FAR" pointer for par_info */typedef struct {    pgm_globals    mem_globals;    /* Globals for pgMemManager */    long    max_offscreen;            /* Maximum memory for offscreen */    long    max_block_size;            /* Max size of text block */    long    minimum_line_width;        /* Minimum size line width */    long    def_tab_space;            /* Default tab spacing for pgNew */    pg_short_t    line_wrap_char;    /* <CR> char */    pg_short_t    soft_line_char;    /* Soft <CR> char */    pg_short_t    tab_char;            /* Tab character */    pg_short_t    hyphen_char;        /* "-" char */    pg_short_t    soft_hyphen_char;    /* Soft "-" char */    pg_short_t    decimal_char;        /* "." char (for decimal tabs) */    pg_short_t    bs_char;            /* Backspace char */    pg_short_t    ff_char;            /* Formfeed char (used for page breaks) */00020000040E0000BEF7408,    pg_short_t    container_brk_char;    /* Container break character */    pg_short_t    left_arrow_char;    /* Left arrow */    pg_short_t    right_arrow_char;    /* Right arrow */    pg_short_t    up_arrow_char;        /* Up arrow */    pg_short_t    down_arrow_char;    /* Down arrow */    pg_short_t    text_brk_char;        /* Alternate Textblock break */    pg_short_t    cr_invis_symbol;    /* Char to draw for <CR> invisibles */    pg_short_t    lf_invis_symbol;    /* Char to draw for <LF> invisibles */    pg_short_t    tab_invis_symbol;    /* Char to draw for TAB invisibles */    pg_short_t    end_invis_symbol;    /* Char to draw for end-doc invisibles */    pg_short_t    cont_invis_symbol;    /* Container break symbol */    pg_short_t    space_invis_symbol;    /* Char to draw for SPACE invisibles */    pg_short_t    unknown_symbol;    /* Char to draw for unknown invisibles */    long    invis_font;                /* Machine-specific invisible char font */    long    rsrv_char1;                /* - reserved for future expansion - */    long    rsrv_char2;                /* - reserved for future expansion - */    memory_ref    file_handlers;        /* Contains file I/O handlers */0002000004210000C2FF41B,    memory_ref    error_handlers;    /* List of error result handlers */    graf_device    current_port;        /* Current graphics device */    graf_device    offscreen_port;    /* Used for offscreen drawing */    rectangle    offscreen_target;    /*  "    "      "        "    */    void PG_FAR    *offscreen_buf;    /* Used for offscreen */    short    offscreen_enable;        /* TRUE if in offscreen mode */    short    color_enable;            /* Used to detect color screens */    short    system_version;            /* Used to know what system */    long    machine_const;            /* Can be used by your machine */    memory_ref    machine_specific;        /* Can hold whatever, MACHINE-DEPENDENT! */    extend_proc pg_extend;            /* Used by add-ons */} pg_globals, PG_FAR *pg_globals_ptr;File handlersFile handler record struct An array of these exists in globals->file_handler_reftypedef struct {    pg_file_key    key;                /* Parameter file key */    pg_handler_proc    read_handler;        /* Called to handle read-in data */    pg_handler_proc    write_handler;        /* Called to handle write-in data */} pg_handler, PG_FAR *pg_handler_ptr;The basic PAIGE record00020000043B0000C71A435,typedef struct {    pg_globals_ptr    globals;            /* Pointer to global vars */    long    version;                /* Version this was created with */    long    platform;                /* Platform ID created on */    long    flags;                    /* Attributes (set in pgNew) */    long    t_length;                /* Total length of text */    pg_short_t    resolution;            /* Fundamental resolution */    select_pair    first_word;    /* Boundaries of original word/par/line selection */    select_pair    last_word;    /* Boundaries of previous word/par/line selection */    long    tab_base;            /* Left edge used for measuring tabs */    co_ordinate    scroll_pos;        /* Scrolled position */    rectangle    doc_bounds;        /* Physical max bounds of doc */    long    doc_top;                /* Top vertical position */    long    doc_bottom;            /* Bottom point (might be different than doc_height) */    pg_scale_factor    scale_factor;        /* Scaling factor */    short    unit_h;                    /* Scroll unit_h */    short    unit_v;                    /* Scroll unit_v */    short    append_h;                /* Extra pixel append for h-scroll */    short    append_v;                /* Extra pixel append for v-scroll */    short    last_h;                    /* Last h-scroll from pgGetScrollValues */0002000004100000CB4F40A,    short    last_v;                    /* Last v-scroll from pgGetScrollValues */    short    last_max_h;                /* Last max-h from pgGetScrollValues */    short    last_max_v;                /* Last max-v from pgGetScrollValues */    pg_short_t    insert_style;        /* Text style for insertion */    pg_short_t    num_selects;        /* Number of selections */    long    scroll_align_h;            /* Alignment for horizontal scroll */    long    scroll_align_v;        /* Alignment for vertical scroll */    shape_section    last_drawn_bottom;    /* Last bottom point drawn in wrap area */    shape_section    last_drawn_top;    /* Last top point drawn in wrap area */    short    io_result;                /* Result from last I/O function */    graf_device    port;            /* Default graphics port to draw to */    pg_ref        myself;            /* My own pg_ref */    select_ref    select;            /* Selection points */    shape_ref    vis_area;            /* Visual area */    shape_ref    exclude_area;        /* Area to exclude text */    shape_ref    wrap_area;        /* Intersection of page/exclude */    shape_ref    hilite_rgn;        /* Area for highlight draw */    shape_ref    temp_rgn;            /* Used to draw partial highlights */0002000004840000CF5947E,    block_ref    t_blocks;            /* Text block array */    format_ref    t_formats;        /* Text style records */    par_ref    par_formats;            /* Paragraph style records */    font_ref    fonts;                    /* Font table */    style_ref    t_style_run;        /* Run for styles */    style_ref    par_style_run;        /* Run for paragraph styles */    pg_hooks    procs;                    /* General hooks */    char_widths    last_locs[3];        /* Last char widths computed */    unsigned long    timer_info;        /* Used for caret toggles */    long    last_key_check;    /* Last time key insert checked bad blocks */    pg_ref    merge_save;            /* List of "pushed" merged text or NULL */    long    change_ctr;            /* Changes counter */    long    mem_id;                /* Common ID all memory_refs were created */    memory_ref    key_buffer;        /* Buffer's chars for pgInsert */    short        key_buffer_mode;    /* Display mode for buffered keys */    memory_ref    applied_range;        /* Used for copy/pastes */    memory_ref    page_list;        /* List of shapes (* future enhancement *) */    memory_ref    exclusions;        /* List of exclusion refCons */    pg_doc_info    doc_info;            /* Info about the page shape */    memory_ref    containers;        /* List of container refCons */    long        lock_id;            /* For asynchronous locks */0002000004A50000D3D749F,    memory_ref    extra_stuff;        /* Used by apps and add-ons */} paige_rec;typedef paige_rec PG_FAR *paige_rec_ptr;Low-level Structs & UtilitiesRecord to make it easier to advance through stylestypedef struct {    long    current_offset;            /* Current style offset position */    style_info_ptr    cur_style;        /* Current text style */    par_info_ptr    cur_par_style;        /* Current paragraph style */    font_info_ptr    cur_font;            /* Current font record */    style_run_ptr    next_style_run;    /* Next style run record */    style_run_ptr    next_par_run;        /* Next paragraph run record */    style_run_ptr    prev_style_run;    /* Previous style run */    style_run_ptr    prev_par_run;        /* Previous paragraph style run */    style_info_ptr    style_base;        /* used internally */    par_info_ptr    par_base;            /* used internally */    font_info_ptr    font_base;        /* used internally */    pg_short_t    last_font;        /* used internally */    long    t_length;                /* Text size from original pg_ref */} style_walk;typedef style_walk PG_FAR *style_walk_ptr;NOTE:  This interface is subject to change without notice.  It was current as of December 17, 1993.  This interface is Copyright © 1993-1994 by DataPak Software, Inc. All rights reserved.000400000FBA0000024E012E362164311011270128514E214F0161416701A641B001E741F302124224025B426D02A442B0031E432B0360536D236E038243870451445A047C448604B544C004D054DD04F044FA0544454E0586459506644671072B5747075A476407C547CF0830483C089148A008C048CF08FF490C0961497109C249D20A004A0F0A2E4A3B0A754A810AC14ACC0B2B4B380BAC4BBF0C0B4C170C424C4F0C8D4C9E0CF44D010D414D4C0D9D4DA80DFE4E0C0E4B4E5B0E964EA40EE14EED0F8B4F990FB25FCE0FE14FEA010854108D01111411170113841146011AD411BE0121A4122B0128441292012E0412EE01356413680139B413AD0140A4141B014704147E014E1414F0015104151F0156541575015A9415B9015C8515D7015EA415F801673416830172341731017A9417BC018074181A0188241896018DF418EB019614196D019DF419EC01A5F41A6C01AE941AF701B1641B2501B5C41B6901B9E41BAC01BE241BF201C2441C3701C6741C7601CD941CEA01D3241D4101D8741D9701DCC51DD801DEC41DF601E4A41E5701E8841E9301EB441EBE01F0441F1101F8141F9001FEC41FFB0204E4205B02092420A2020D2420E0021004210D0215042160021B4421C60222242234022775228D7228E022A2422A7022F6422FC0233A423440238F42396023FA424020245642463024A2424B50252F425350258A42595025B7425C6025F5426040262642634026465265C0266F4267B026AA426B6026D6426DE0273D42749027C3427CF0283E4284B0287A42886029314293D029A6529AF029C2429D302A2E42A3F02ABB42ACC02B3742B4802B9C42BA402BF442C0502C3642C4402CB642CC602D0142D0F02D3F52D5D02D7742D8402DD542DE402E0342E1102E6A42E7402EA742EB102EF742F0102F2142F2B02F9A42FA7030164301F0307D43087030E5430F30313D53154031674317503194431A2031CB431D50324643255032BF432C90331F433290337E4338F033BE433CB03413434220346D4347A034AD534BF234C0034D2434DE035134351F03557535690357C43588035D4435E00361B436260366F43678036BC436C70370B4371C0379C437A9038234382D0386643870038A9538B9038CC438E20390E4391A039604396C039B2439BB03A4E43A5703AD853AEA03AFD43B0F03B5A43B6903B9543BA003BDA43BE803C2E43C3903CC543CD303D0A53D3023D3103D6D43D7E03DC143DD103E6B43E7903F2443F3303F9C43FAC03FE543FF50403F4404D04092440A10410F4411D0415B4416A041B5441C60423244243042EF442FF0435B4436D0440E4441F04482444900451B44527045D7445E10466644678047404474E047AB447B90486544873048AA448BB048F2449000497F4498F04A0F44A2004A6F44A7F04B2D44B3E04BEC44BFC04CBA44CC704D3044D3C04D7744D8604DC244DCE04E4744E5604EBC14EDE64EDF04EE054EE904EEA44EF80508645099051E84520F056034561E0586E4588E05CA345CC705DE845E1A060B6460CD06259462720633A46348064AB464BB066A0566A8066AA466BC0676C467760691046924069B3469CA06B2A46B4606BD146BE406D2046D3706DF046E0406EE146EF906F9746FA8070B7470CA071AF471C8072D5572E6073214733A078754788C079764798707A6347A7F07B1347B2807BC947BDE07C6757C7307C7447C8307EDE47F230803E58045080464805B0811A4812F082BF482C8083DE483EB084AC484BA085A2485E6088354884908AB258AD108AD248B0508F9A48FAF0907E4908F0929C492A6093C0493DF094A3494D6095C3495F109D4959D4E09D4F49D740A00E5A0170A0184A0380A1355A13F0A1404A1880A3165A3220A3234A3450A6115A6190A61A4A62F0A6D25A6DF0A6E04A6FE0AA4A4AA6F0AC294AC420AF955AFB20AFB34AFC90B6964B6C30B78C4B7A30C5B25C5BF0C5C04C5DA0C7025C7190D44C5D46A0D46B4D49D0D7BB2D8782000500000097000000160C64B110A12894EBC84EE077EDE67F24588CB10890C11894FF8998D89E2E8A265A1404A1893C86012C8FB3CD3E2CD851D7BB0D87800006000001C5000000081Å0Å920¡FFFFÅÅ0ÇÇ900000¬
  2. 1210¬¡12410¡FFFFÅÅ0101200000¬-100000¬40¬-10¡A20¡FFFFÅÅ010900000¬-100000¬50¬-10¡A20¡FFFFÅÅ0ÇÇ900000¬-100000¬20¬¡10Å920¡FFFFÅÅ010900000¬-100000¬FE0¬-10¡C310¡FFFFÅÅ010C00000¬-100000¬210¬-10¡10Å12420¡FFFFÅÅ0101200000¬-100000¬10¬-10¡10ÅC310¡FFFFÅÅ010C00000¬-100000¬10¬-10¡0007000005E2000000130ÅÅ40¬10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 20¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡40¬10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 20¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡3010¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç10Å20-20¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç10ÅDA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡40¬10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç10ÅDA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1CE0Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1C70Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1C70Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1C80Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1C80Ç¡DA0-D60¬ 10¬71150Ç1480Ç1750Ç1AD0Ç31CC0Ç1910Ç1C80Ç¡DA0-D60¬ 10¬71150Ç1480Ç1AD0Ç31CC0Ç1910Ç1CE0Ç1660Ç00080000009D0000000240,Geneva2030¬
  3. 40,Monaco2040¬
  4. 00090000001B000000022201731ED2201731ED000A0000001D000000026A482F221C6A482F221C000B00000005000000020¬000C000000130000000164Ç65CB4B50Å000F0000002B0000000050634B0ÇÇ2DA22848¬19111532C0¬001E0000007800000000HH⁄(ˇ·ˇ‚˘FG(¸HH⁄(d'ê@041A0000003600000000ɸ1111